import { useCallback } from 'react';

import { useStores } from '@/app/(root)/AppProviders';
import logWebUserEvent from '@/logging/logWebUserEvent';

export const useEditModeTracking = () => {
  const { edit } = useStores();

  // TODO: update this to use the feature session tracking
  const logStartEditModeSession = useCallback(() => {
    logWebUserEvent({
      actionName: 'StartEditModeSession',
      context: {
        editSessionId: edit.editSessionId || '',
        editingClipId: edit.editingClipId || '',
        actionIndex: edit.actionIndex,
        editTool: edit.activeEditTool,
      },
    });
  }, [
    edit.editSessionId,
    edit.editingClipId,
    edit.actionIndex,
    edit.activeEditTool,
  ]);

  const logEndEditModeSession = useCallback(() => {
    logWebUserEvent({
      actionName: 'EndEditModeSession',
      context: {
        editSessionId: edit.editSessionId || '',
        editingClipId: edit.editingClipId || '',
        actionIndex: edit.actionIndex,
      },
    });
  }, [edit.editSessionId, edit.editingClipId, edit.actionIndex]);

  return {
    logStartEditModeSession,
    logEndEditModeSession,
  };
};
